release-19.1: opt: nil presentation should not equal the 0-column presentation #41667
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport 1/2 commits from #39818.
/cc @cockroachdb/release
The nil presentation means that we want all columns in no particular
order, whereas the 0-column presentation means that we don't need any
of the columns (e.g. EXISTS subqueries). Only the nil presentation
is
Any()
. ButEquals()
was incorrectly treating these as equal.This confused the interner and a nil presentation became a 0-column
presentation which led to some internal errors in Apply.
For completeness, we also fix
HashPhysProps
to differentiatebetween these two, but note that this isn't required for correctness.
Fixes #39435.
Release note (bug fix): Fixed internal errors generated during
execution of some complicated cases of correlated subqueries.